package com.whut.mapper;

import com.whut.model.*;
import com.whut.parMapper.ParSystemMapper;
import com.whut.v_model.AllSystemId;
import com.whut.v_model.UncheckedSixth;
import com.whut.v_vo.oldSysPreListVO;

import java.util.List;

public interface PrefixParSystemMapper extends ParSystemMapper {
    int deleteByPrimaryKey(Integer number);

    int insert(ParPrefixSystem record);

    int insertSelective(ParPrefixSystem record);

    ParPrefixSystem selectByPrimaryKey(Integer number);

    int updateByPrimaryKeySelective(ParPrefixSystem record);

    int updateByPrimaryKey(ParPrefixSystem record);

    /*my methods*/
    void deleteAll();

    List<ParPrefixSystem> getFirstLevel(int nodeDepth);

    List<ParPrefixSystem> getNextLevel(int preNum);

    ParPrefixSystem getFather(int number);

    List<ParPrefixSystem> getSameFather(int preNum);

    List<ParPrefixSystem> getSecondByFirstName(String firstName);

    List<ParPrefixSystem> getNextSystemByCurNum(int curNum);

    String getName4ByName4Id(int number);

    String getPoint4ByPoint4Id(int number);

    int getCountFourth(int thirdId);

    String getWeight3ByThirdId(int thirdId);

    String getWeight1ByName1(String pName1);

    List<ParPrefixSystem> getSystemNextListFromProColl(int curNum, int checkId, int type);

    List<UncheckedSixth> getSixUncheckedList(int fourthId, int checkId);

    List<Integer> getWSJList(int checkId,int fourthId);

    List<Object> getNumberForJudge(String nodeDepth,int preNum);

    /**
    * 根据问题Id找到体系中的所有Id
    *@author fuzhenjie
    *@date 19.12.5 15:32(GMT)
    *@param lastId
    *@return com.whut.v_model.AllSystemId
    */
    AllSystemId getAllSystemIdByLastId(int lastId);

    List<Object> getSecondChildsByNode(Integer preNum);
    /**
     * @Author chenhuanru
     * @Description //TODO
     * @Date 18:27 2020/3/16
     * @Param [parameterName, nodeDepth, list]
     * @return java.util.List<com.whut.model.Problemcollect>
     **/
    List<Problemcollect> getItemByNameAndDepth(String parameterName, Integer nodeDepth, List<Integer> list);

    List<Object> getItemByDepth(int nodeDepth,int preNum);

    /**
     * @author： wenyihan
     * @description：通过父id和parameterName查询当前选择体系的number
     * @date： 18:55 2020/7/31
     * @param： [pName, preNum]
     * @return： int
    */
    int getPSNumByPNameAndPreNum(String pName, int preNum);

    /***
     * @auther lyl
     * @description:根据number查询所有孩子节点
     * @date 23:58 2020/8/8
     * @param number
     * @return prefixSystem
    */
    List<ParPrefixSystem> selectChildrenByNumber(int number);

    List<Object> getItemOnlyByDepth(int nodeDepth);

    /**
     * @author： wenyihan
     * @description：根据第四级id获取所有对应的第六级name
     * @date： 18:54 2020/10/27
     * @param： [fourthId]
     * @return： java.util.List<com.whut.model.Prefixsystem>
    */
    List<ParPrefixSystem> getSixthNameByFourthId(Integer fourthId);

    List<Word2VecResult> getParameterByNum(Integer e);

    List<Integer> getFifthId(Integer fourthId);

    List<ParPrefixSystem> getItemByDepthAndPreNum(int preNum, int nodeDepth);

    List<ParPrefixSystem> getGrandSonByDepthAndPreNum(int preNum, int nodeDepth);

    List<Object> getUsedItemByDepth(int nodeDepth, int preNum);

    List<ParPrefixSystem> selectItemByPreNum(int preNum);

    List<Integer> getNextIdByPreNum(Integer preNum);

    List<oldSysPreListVO> getpNameByUpperId(int preNum);

}